package com.huixh.train.business.service;

import com.huixh.train.business.req.SkTokenQueryReq;
import com.huixh.train.business.req.SkTokenSaveReq;
import com.huixh.train.business.resp.SkTokenQueryResp;
import com.huixh.train.common.resp.PageResult;

import java.util.Date;
import java.util.List;

/**
* @author huixh
*/
public interface SkTokenService {
    /**
    * 保存
    * @param  skTokenSaveReq 保存参数
    */
    void save(SkTokenSaveReq skTokenSaveReq);

    /**
    * 查询列表
    * @param skTokenQueryReq 查询参数
    * @return list
    */
    PageResult <List<SkTokenQueryResp>> queryList(SkTokenQueryReq skTokenQueryReq);
    /**
    * 删除
    * @param id id
    */
    void delete(Long id);

    /**
     * 生成令牌
     * @param date 时间
     * @param trainCode 车次
     */
    void genDaily(Date date,String trainCode);

    /**
     * 验证令牌
     *
     * @param date 时间
     * @param trainCode 车次
     * @param memberId 会员id
     * @return 成功？
     */
    Boolean verificationToken(Date date,String trainCode,Long memberId);

    /**
     * 验证令牌
     * @param date  时间
     * @param trainCode 车次
     * @param memberId 会员id
     * @param step 步长
     * @return 成功？
     */
    public Boolean verificationToken(Date date, String trainCode,Long memberId,Integer step);
}

